package com.wfy.common.util;

import com.google.gson.Gson;
import com.wfy.common.entity.Result;
import com.wfy.common.entity.ResultGenerate;

import java.io.Serializable;

/**
 * Created with IntelliJ IDEA.
 * User: wangxindong
 * Date: 2017/9/29
 * Time: 16:42
 */
public class SerializeUtils {

    // ================================================================
    // Constants
    // ================================================================

    // ================================================================
    // Fields
    // ================================================================

    private static final Gson GSON = new Gson();


    // ================================================================
    // Constructors
    // ================================================================

    // ================================================================
    // Methods from/for super Interfaces or SuperClass
    // ================================================================

    // ================================================================
    // Public or Protected Methods
    // ================================================================

    public static String serializeToString(Object obj) {
        return GSON.toJson(obj);
    }

    public static <T> T deserializeFromString(String value, Class<T> clazz) {
        return (T) GSON.fromJson(value, clazz);
    }


    // ================================================================
    // Getter & Setter
    // ================================================================

    // ================================================================
    // Private Methods
    // ================================================================


    // ================================================================
    // Inner or Anonymous Class
    // ================================================================

    // ================================================================
    // Test Methods
    // ================================================================

    public static void main(String[] args) {
        Result result = ResultGenerate.getSuccessResult();
        String res = serializeToString(result);
        System.out.println(res);
        Result r = deserializeFromString(res, Result.class);
        System.out.println(r);
    }

}
